#!/usr/bin/python3
# coding: utf-8
# file: multiprocessing_.py
# 多进程
# 2018-06-12
from multiprocessing import Pool
import os, time, random

def task(name):
	print('Run task %s (%s)...' % (name, os.getpid()))
	start = time.time()
	time.sleep(random.random() * 3)
	end = time.time()
	print('Task %s runs %0.2f seconds.' % (name, (end - start)))



if __name__ == '__main__':
	print('Parent process %s.' % os.getpid())
	p = Pool(2)
	for i in range(5):
		p.apply_async(task, args=(i,))
	print('Waiting for all subprocesses done...')
	p.close()
	p.join()
	print('All subprocesses done.')